win32draw: Use the right checks
authorBenjamin Otte <otte@redhat.com>
Mon, 22 Feb 2016 03:00:36 +0000 (04:00 +0100)
committerBenjamin Otte <otte@redhat.com>
Mon, 22 Feb 2016 03:37:57 +0000 (04:37 +0100)
The first check was the wrong way around.

The second check made the function look wrong. Invalid ID is actually
the special case that should be handled first, so write the function
like that.

gtk/gtkwin32draw.c

index 16459ce3908628faf77e010a0132e937ad800726..6caaa77afbcf9a28f38d1db4933bedc851e9ba3c 100644 (file)
@@ -481,7 +481,7 @@ gtk_win32_get_sys_metric_id_for_name (const char *name)
 int
 gtk_win32_get_sys_metric (gint id)
 {
-  if (id >= 0 && id < G_N_ELEMENTS (win32_default_metrics))
+  if (id < 0 || id >= G_N_ELEMENTS (win32_default_metrics))
     return 0;
 
   if (win32_default_metrics[id].get_value)
@@ -558,9 +558,12 @@ void
 gtk_win32_get_sys_color (gint     id,
                          GdkRGBA *color)
 {
-  if (id < G_N_ELEMENTS (win32_default_colors))
-    *color = win32_default_colors[id].rgba;
-  else
-    gdk_rgba_parse (color, "black");
+  if (id < 0 || id >= G_N_ELEMENTS (win32_default_colors))
+    {
+      gdk_rgba_parse (color, "black");
+      return;
+    }
+
+  *color = win32_default_colors[id].rgba;
 }